Quiz App
Layout
Criteria | Meet Specification |
---|---|
Overall Layout |
App contains 4 - 10 questions, including at least one check box, one radio button, and one text entry. |
Question types |
Questions are in a variety of formats such as free text response, checkboxes, and radio buttons. Checkboxes are only used for questions with multiple right answers. Radio buttons are only used for questions with a single right answer. |
Submit button |
App includes a button for the user to submit their answers and receive a score. |
Layout best practices |
The code adheres to all of the following best practices:
|
View variety |
The app includes at least four of the following Views: TextView, ImageView, Button, Checkbox, EditText, LinearLayout, RelativeLayout, ScrollView, RadioButton, RadioGroup. If applicable, the app uses nested ViewGroups to reduce the complexity of the layout. |
Rotation |
The app gracefully handles displaying all the content on screen when rotated. Either by updating the layout, adding a scrollable feature or some other mechanism that adheres to Android development guidelines. |
Functionality
Criteria | Meet Specification |
---|---|
Runtime Errors |
The code runs without errors. |
Question Answers |
Each question has a correct answer. |
Radio Button Implementation |
Any question which uses radio buttons allows only one to be checked at once. |
Control Statements |
The app contains at least one if/else statement |
Grading Button Function |
The grading button displays a toast which accurately displays the results of the quiz. |
Grading Logic |
The grading logic checks each answer correctly. The app accurately calculates the number of correct answers and does not include incorrect answers in the count. Note: When applicable, in the grading logic remember to check that the correct answers are checked AND the incorrect answers are not checked. |
Code Readability
Criteria | Meet Specification |
---|---|
Naming Conventions |
All variables, methods, and resource IDs are descriptively named such that another developer reading the code can easily understand their function. |
Format |
The code is properly formatted i.e. there are no unnecessary blank lines; there are no unused variables or methods; there is no commented out code. |